/**
 * @description hex颜色转rgb颜色
 * @param {String} str 颜色值字符串
 * @returns {String} 返回处理后的颜色值
 */
// export function timeFrame(rule, value, callback) {
//   console.log(rule, value);
//   if (value) {
//     callback(new Error(rule.message));
//   }
//   callback();
// }

/**
 * @description 验证电子邮箱格式
 */
export function email(rule: any, value: string, callback: (arg0?: Error | undefined) => void) {
  if (value) {
    if (!/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value)) {
      callback(new Error());
    }
  }
  callback();
}

/**
 * @description 验证手机格式
 */
export function mobile(rule: any, value: string, callback: (arg0?: Error | undefined) => void) {
  if (value) {
    if (!/^1([3589]\d|4[5-9]|6[1-2,4-7]|7[0-8])\d{8}$/.test(value)) {
      callback(new Error());
    }
  }
  callback();
}

/**
 * @description 验证身份证号码
 */
export function idCard(rule: any, value: string, callback: (arg0?: Error | undefined) => void) {
  if (value) {
    if (!/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/.test(value)) {
      callback(new Error());
    }
  }
  callback();
}

/**
 * @description 中文
 */
export function chinese(rule: any, value: any, callback: (arg0?: Error | undefined) => void) {
  if (value) {
    if (!/^[\u4e00-\u9fa5]+$/gi.test(value)) {
      callback(new Error());
    }
  }
  callback();
}

/**
 * @description 数字
 */
export function Num(rule: any, value: any, callback: (arg0?: Error | undefined) => void) {
  if (value) {
    if (!/^[0-9]*$/g.test(value)) {
      callback(new Error());
    }
  }
  callback();
}
